public class xor {
    public int getSum(int a, int b) {
        //使用异或得到无进位相加的结果
        //使用&得到进位结果，&后需要向左移一位
        //若&之后的结果为0，则说明没有进位，则异或后的结果就是最终结果
        //若&之后结果不为0，还要将异或的结果与&的结果相加，即重复上面的操作
        while (true) {
            int num1 = a ^ b;
            int num2 = (a & b) << 1;
            if (num2 == 0) {
                return num1;
            }
            a = num1;
            b = num2;
        }

    }
}
